#include "transparentbutton.h"
#include <QApplication>
#include <QWheelEvent>

TransparentButton::TransparentButton(QWidget* parent)
    : TouchButton(parent) {}

TransparentButton::TransparentButton(const QString &text, QWidget *parent)
    : TouchButton(text,parent) {}

void TransparentButton::mousePressEvent(QMouseEvent *event)
{
    // 先调用父类的 mousePressEvent 处理函数（可选）
    QPushButton::mousePressEvent(event);
    // 将事件传递给父部件
    if (parentWidget()) {
        QMouseEvent newEvent(event->type(), event->pos(), event->button(), event->buttons(), event->modifiers());
        QApplication::sendEvent(parentWidget(), &newEvent);
    }
}

void TransparentButton::mouseReleaseEvent(QMouseEvent* event)
{
    // 先调用父类的 mouseReleaseEvent 处理函数（可选）
    QPushButton::mouseReleaseEvent(event);
    // 将事件传递给父部件
    if (parentWidget()) {
        QMouseEvent newEvent(event->type(), event->pos(), event->button(), event->buttons(), event->modifiers());
        QApplication::sendEvent(parentWidget(), &newEvent);
    }
}

void TransparentButton::mouseDoubleClickEvent(QMouseEvent* event)
{
    // 先调用父类的 mouseDoubleClickEvent 处理函数（可选）
    QPushButton::mouseDoubleClickEvent(event);
    // 将事件传递给父部件
    if (parentWidget()) {
        QMouseEvent newEvent(event->type(), event->pos(), event->button(), event->buttons(), event->modifiers());
        QApplication::sendEvent(parentWidget(), &newEvent);
    }
}
